A computer network is a collection of interconnected computing devices that exchange data and share resources. In a packet-based network, such as the Internet, computing devices communicate data by dividing the data into small blocks called packets, which are individually routed across the network from a source device to a destination device. The destination device extracts the data from the packets and assembles the data into its original form. Dividing the data into packets enables the source device to resend only those individual packets that may be lost during transmission.
Certain devices within the network, such as routers, maintain routing information that describes routes for the network. In general, a route indicates reachability information for a network prefix. From the routing information, the routers may generate forwarding information, which is used by the routers to relay packet flows through the network and, more particularly, to relay the packet flows to a next hop. In reference to forwarding a packet, the “next hop” from a network router typically refers to a downstream neighboring device for a given route. Upon receiving an incoming packet, the router examines information within the packet to identify the destination for the packet. Based on the destination, the router forwards the packet in accordance with the forwarding information.
Some computer networks, such as the Internet, an administrative domain or network, often include many routers that exchange routing information according to a defined routing protocol. Examples of the defined routing protocol may include, among others, the Border Gateway Protocol (BGP), the Intermediate System to Intermediate System (IS-IS) Protocol, and the Open Shortest Path First (OSPF) Protocol. When two routers initially connect, the routers exchange routing information and generate forwarding information from the exchanged routing information. Particularly, the two routers initiate a routing communication “session” via which they exchange routing information using routing protocol messages according to the defined routing protocol. The routers continue to communicate via the routing protocol to incrementally update the routing information and, in turn, update their forwarding information in accordance with changes to a topology of the network indicated in the updated routing information. For example, the routers may send update messages to advertise newly available routes or to inform that some routes are no longer available.
A computer network using a routing protocol, like BGP, for example, directs data packets between network nodes based on addressing information with the data packets. A routing protocol route advertisement, like a BGP UPDATE message, advertises one or more routes for network prefixes reachable via the network. A routing domain, such as a BGP network, may include one or more routers, route reflectors, nodes, and endpoint devices (e.g., servers, printers, and computers). Some of the routers within the routing domain may be grouped together into redundant clusters. Each router within the routing domain typically forwards packets according to routes stored at the router and the destination address of the data packets. Route reflectors, such as BGP route reflectors, peer with other routers to receive and advertise routes but typically do not forward packets according to the routes.